package com.cmos.um.web;

import com.alibaba.dubbo.config.annotation.Reference;
import com.cmos.um.iservice.INgcsSV;
import com.cmos.um.utils.Result;
import com.cmos.um.utils.ResultUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;

@RestController
@RequestMapping("/ngcsadapter/ws/campaignService")
public class NgcsController {

    @Reference
    private INgcsSV iNgcsSV;

    /**
     * 【操作】得到Cti和技能队列接口
     *
     * @param params 参数集MAP（含params参数——此参数在输入函数时为Json字符串）
     * @return Map<String,Object> 返回的数据（MAP形式）
     */
    @PostMapping("ctiAndSkill")
    public Result getCtiAndSkill(@RequestBody JSONObject params) {
        if (!params.containsKey("params") && !params.containsKey("object")) {
            return ResultUtil.ngcsError("入参不符合规范");
        }
        if (!params.getJSONObject("params").getString("taskId").equals("00000000") && params.getJSONObject("params").getString("taskId").length() != 16) {
            return ResultUtil.ngcsError("任务号必须为16位！");
        }
        return iNgcsSV.getCtiAndSkill(params);
    }
}
